package com.ruoyi.system.service;

import java.util.List;
import java.util.Map;

import com.ruoyi.system.domain.Zhuanjia;

/**
 * 专家Service接口
 * 
 * @author dy
 * @date 2024-05-29
 */
public interface IZhuanjiaService 
{
    /**
     * 查询专家
     * 
     * @param zhuanjiaid 专家主键
     * @return 专家
     */
    public Zhuanjia selectZhuanjiaByZhuanjiaid(String zhuanjiaid);

    /**
     * 查询专家列表
     * 
     * @param zhuanjia 专家
     * @return 专家集合
     */
    public List<Zhuanjia> selectZhuanjiaList(Zhuanjia zhuanjia);

    /**
     * 新增专家
     * 
     * @param zhuanjia 专家
     * @return 结果
     */
    public int insertZhuanjia(Zhuanjia zhuanjia);

    /**
     * 修改专家
     * 
     * @param zhuanjia 专家
     * @return 结果
     */
    public int updateZhuanjia(Zhuanjia zhuanjia);

    /**
     * 批量删除专家
     * 
     * @param zhuanjiaids 需要删除的专家主键集合
     * @return 结果
     */
    public int deleteZhuanjiaByZhuanjiaids(String zhuanjiaids);

    /**
     * 删除专家信息
     * 
     * @param zhuanjiaid 专家主键
     * @return 结果
     */
    public int deleteZhuanjiaByZhuanjiaid(String zhuanjiaid);

    /**
     * 专家管理查询统计列表
     */
    public List<Map<String,Object>> chaxuntongjilist(String deptid,
                                                     String xingming,
                                                     String deptname,
                                                     String deptlevel,
                                                     String gongzuodanwei,
                                                     String ruxuannianfen,
                                                     String zhuanjiazhuangtai,
                                                     String zhuanjiazhuangtaibiandongshijian_kaishi,
                                                     String zhuanjiazhuangtaibiandongshijian_jieshu,
                                                     int pageindex, int pagesize);
    public int chaxuntongjilistCount(String deptid,
                                     String xingming,
                                     String deptname,
                                     String deptlevel,
                                     String gongzuodanwei,
                                     String ruxuannianfen,
                                     String zhuanjiazhuangtai,
                                     String zhuanjiazhuangtaibiandongshijian_kaishi,
                                     String zhuanjiazhuangtaibiandongshijian_jieshu);
    /**
     * 专家管理查询统计列表 单位普通管理员
     */
    public List<Map<String,Object>> chaxuntongjilistCommon(String deptid,
                                                           String xingming,
                                                           String deptname,
                                                           String deptlevel,
                                                           String gongzuodanwei,
                                                           String ruxuannianfen,
                                                           String zhuanjiazhuangtai,
                                                           String zhuanjiazhuangtaibiandongshijian_kaishi,
                                                           String zhuanjiazhuangtaibiandongshijian_jieshu,
                                                           int pageindex, int pagesize);
    public int chaxuntongjilistCommonCount(String deptid,
                                           String xingming,
                                           String deptname,
                                           String deptlevel,
                                           String gongzuodanwei,
                                           String ruxuannianfen,
                                           String zhuanjiazhuangtai,
                                           String zhuanjiazhuangtaibiandongshijian_kaishi,
                                           String zhuanjiazhuangtaibiandongshijian_jieshu);

    Map<String, Integer> Countchaxuntongji(String deptid,
                                           String xingming,
                                           String deptname,
                                           String deptlevel,
                                           String gongzuodanwei,
                                           String ruxuannianfen,
                                           String zhuanjiazhuangtai,
                                           String zhuanjiazhuangtaibiandongshijian_kaishi,
                                           String zhuanjiazhuangtaibiandongshijian_jiesh);

    Map<String, Integer> Countchaxuntongjicommon(String deptid,
                                                 String xingming,
                                                 String deptname,
                                                 String deptlevel,
                                                 String gongzuodanwei,
                                                 String ruxuannianfen,
                                                 String zhuanjiazhuangtai,
                                                 String zhuanjiazhuangtaibiandongshijian_kaishi,
                                                 String zhuanjiazhuangtaibiandongshijian_jiesh);
}
